在php开发中用户管理是常用的一个功能,用户端的登录、注册、注销更是基础功能。下面分享一套在thinkphp6下运行的登录、注册、注销登录的实战方法加验证类。
登录页面及方法(Ajax)
public function login()
{
if (request()->isPost()){
$data['username'] = input('param.username');
$data['password'] = input('param.password');
//验证类验证信息
try {
validate(Loginvali::class)->check($data);
} catch (ValidateException $e) {
return json(array('errcode' => 'FAIL', 'errmsg' => $e->getError()));
}
$user = Member::where('username', $data['username'])->field('id,username,password,salt_key')->find();
if(!$user){
$re_param = array("errcode" => "FAIL", "errmsg" => "账号或密码错误");
} else {
if ($user['password'] == md5($data['password'].$user['salt_key'])) {
unset($user['password']);
//存储session
$session_data['userid'] = $user['id'];
$session_data['username'] = $user['username'];
session('member', $session_data);
//返回信息
$re_param['errcode'] = 'SUCCESS';
$re_param['errmsg'] = '验证成功,正在登陆';
$re_param['url'] = url('/index')->build();
} else {
$re_param = ["errcode" => "FAIL", "errmsg" => "账号或密码错误"];
}
}
return json($re_param);
}else{
//页面渲染
return View::fetch();
}
登录验证类
|